tests-unit-container: Verify /boot mount point
authorColin Walters <walters@verbum.org>
Tue, 22 Jul 2025 21:17:05 +0000 (17:17 -0400)
committerColin Walters <walters@verbum.org>
Tue, 22 Jul 2025 21:22:09 +0000 (17:22 -0400)
Prep for further changes.

Signed-off-by: Colin Walters <walters@verbum.org>
tests-unit-container/test-prepare-root.sh

index d3ad3431fcd6dd4ed4e6685c0134d52a36db42d7..c4f95c1cedaa54956bcdb8a6ae02d6a0d3eaad2d 100755 (executable)
@@ -28,7 +28,7 @@ ostree admin init-fs --epoch=1 /target-sysroot
 cd /target-sysroot
 ostree admin --sysroot=. stateroot-init default
 # now we just fake out a deployment
-mkdir -p ostree/deploy/default/deploy/1234/{etc,usr/etc,usr/bin,sysroot}
+mkdir -p ostree/deploy/default/deploy/1234/{boot,etc,usr/etc,usr/bin,sysroot}
 # Populate some data
 (cd ostree/deploy/default/deploy/1234
  echo passwd > usr/etc/passwd
@@ -56,6 +56,10 @@ done
 # etc is not transient by default
 etc_options=$(findmnt -no OPTIONS /target-sysroot/etc)
 [[ ! $etc_options =~ "upperdir=/run/ostree/transient-etc" ]]
+# We don't have /boot as a bind mount by default here
+if mountpoint /target-sysroot/boot &>/dev/null; then
+       exit 1
+fi
 
 # Default is ro in our images
 grep -q 'readonly.*true' /usr/lib/ostree/prepare-root.conf
@@ -97,3 +101,17 @@ mv /usr/lib/ostree/prepare-root.conf{.orig,}
 cleanup
 
 echo "ok verified etc.transient"
+
+# Set up boot/loader via traditional ostree swapped symlink pattern
+# which will cause prepare-root to also make a bind mount.
+mkdir /target-sysroot/boot/loader.0
+ln -s /target-sysroot/boot/loader.0 /target-sysroot/boot/loader 
+
+mount --bind /target-sysroot /target-sysroot
+/usr/lib/ostree/ostree-prepare-root /target-sysroot
+
+mountpoint /target-sysroot/boot
+
+cleanup
+
+echo "ok verified /boot"